package com.feri.fitness.us.listener;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.feri.fitness.common.config.RocketMQConfig;
import com.feri.fitness.common.dto.MqLevelMsg;
import com.feri.fitness.common.dto.MqMsgDto;
import com.feri.fitness.us.dao.UserLevelDao;
import com.feri.fitness.us.dao.UserMessageDao;
import com.feri.fitness.us.domain.UserLevel;
import com.feri.fitness.us.domain.UserMessage;
import com.feri.fitness.us.type.MessageType;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　 ┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　  ┃
 * 　　┃　　　　　　 ┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛Code is far away from bug with the animal protecting
 * 　　　　┃　　　┃    神兽保佑,代码无bug
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━永无BUG!━━━━━━
 *
 * @Description:
 * @Author: 邢朋辉
 * @Date: 2023/1/10 11:36
 */
@Component //IOC创建
@RocketMQMessageListener(topic = RocketMQConfig.MQ_MESSAGE,consumerGroup = "usermsgpro")
public class UserMsgListener implements RocketMQListener<String> {

    private Logger logger= LoggerFactory.getLogger(UserMsgListener.class);

    @Resource
    private UserMessageDao messageDao;

    @Override
    public void onMessage(String s) {
        MqMsgDto msg= JSON.parseObject(s, MqMsgDto.class);
        logger.info("开始处理：用户消息");
        //新增用户消息
        messageDao.insert(new UserMessage(msg.getUid(), msg.getType(),
                msg.getMsg()));
        logger.info("结束处理：用户消息");
    }
}
